/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Control;

import DAO.PrivilegioDAO;
import DAO.UsuarioDAO;
import Model.Privilegio;
import Model.Usuario;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Maury
 */
public class pesquisarUsuario extends Processor {

    @Override
    public void execute() throws ServletException, IOException {
        HttpSession session = getRequest().getSession();
        
        String link = getRequest().getParameter("link");
        if(link == null){
            link = (String) session.getAttribute("link");
            if(link == null){
                throw new ServletException();
            }
        }
        session.setAttribute("link", link);      
                
        try{
            
            String login = getRequest().getParameter("loginPesquisa");
            if(login == null){
                login = (String) session.getAttribute("loginPesquisa");
                if(login == null){
                    throw new ServletException();
                }
            }
            session.setAttribute("loginPesquisa", login);

            ArrayList<Usuario> usuarios = new ArrayList<Usuario>();
            if(login.equals("")){
                usuarios = UsuarioDAO.pesquisarAll();
            }
            else{
                Usuario usuario = UsuarioDAO.pesquisarByLogin(login);
                if(usuario != null){
                    usuarios.add(usuario);
                }
            }
            ArrayList<Privilegio> privilegios = null;
            
            if(link.equals("mudarPermissao.jsp")){
                privilegios = PrivilegioDAO.pesquisarAll();
            }
            if(usuarios.isEmpty()){
                String erro = "Nenhum resultado encontrado!";
                getRequest().setAttribute("erro", erro);
                RequestDispatcher rd = getRequest().getRequestDispatcher("pesquisarUsuario.jsp?destino=remover");
                
                rd.forward(getRequest(), getResponse());
            }
            else{
                if(privilegios != null){
                    getRequest().setAttribute("privilegios", privilegios);
                }
                getRequest().setAttribute("usuarios", usuarios);
                RequestDispatcher rd = getRequest().getRequestDispatcher(link);
                rd.forward(getRequest(), getResponse());
            }
        }catch(SQLException e){
            throw new ServletException();
        }catch(ClassNotFoundException e){
            throw new ServletException();
        }
    }
    
}
